前向传播(Forward Pass)
概述
前向传播是神经网络中从输入到输出的计算过程:输入数据逐层经过线性变换(权重矩阵乘法 + 偏置)和非线性激活函数,最终产生预测输出。
关键内容
- 计算流程:给定输入 x,每一层执行 z = Wx + b(线性变换),然后 a = σ(z)(激活函数)。多层网络中,前一层的输出作为后一层的输入:h⁽¹⁾ = σ(W⁽¹⁾x + b⁽¹⁾),h⁽²⁾ = σ(W⁽²⁾h⁽¹⁾ + b⁽²⁾),依此类推。
- 缓存中间值:前向传播时必须保存每一层的输入、输出和中间值(z 和 a),因为反向传播需要这些缓存值来计算局部导数。没有缓存,反向传播无法进行。这是实现中的一个关键工程细节。
- 与反向传播的配对:一次完整的训练迭代 = 一次前向传播(计算预测和损失)+ 一次反向传播(计算梯度)。前向传播的计算复杂度与网络参数量成正比,反向传播的计算复杂度与前向传播相同(O(1) 倍前向传播时间)。
- 激活函数的必要性:如果没有非线性激活函数,多层线性变换等价于单层(矩阵乘法的叠加仍是矩阵乘法)。Sigmoid激活函数、ReLU激活函数等引入非线性,使网络能够表达复杂的函数关系。
来源
- paper_02_backpropagation — 前向传播(Forward Pass)章节
相关
- 反向传播 — paired_with
- 多层感知机 — applies_to
- Sigmoid激活函数 — uses
- ReLU激活函数 — uses
- 链式法则 — enables